<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>

  <!-- 引入Vue -->
  <script type="text/javascript" src="/vue/vue.js"></script>

</head>
<body>
  <!-- 
    总结：
    data与el的两种写法：
      1：el的两种写法
        （1）new Vue()的时候配置el属性
        （2）先创建Vue实例对象，随后再通过vm.$mount('#app')指定el的值
      2：data的两种写法
        （1）对象式
        （2）函数式
        如何选择：目前那种都可以，以后用到组件，data必须使用函数式
      3：一个重要原则：
        由Vue管理的函数，一定不要写箭头函数，因为箭头函数没有this，他会向外找，直至找到window对象为止。一旦写了箭头函数，this就不会是Vue实例了

   -->

  <!-- 创建一个容器 -->
  <div id="app">{{name}}</div>

  <script type="text/javascript">
    // el的两种写法
    /** 
     * const v =  new Vue({
      // el: '#app', //第一种写法
      data: {
        name: 'zzm',
      },
    })
    console.log('v:', v);
    // 第二种写法(使用v【Vue实例】的缔造者->Vue构造函数 的原型上的mount来挂载)
    v.$mount('#app')
    */

    // data的两种写法
    new Vue({
      el: '#app',
      // 第一种写法：对象形式
      /*data: {
        name: 'zzm'
      }
      */
     
      // 第二种写法：函数式
      data() {
        console.log('this:', this);
        return { //必须返回一个对象
          name: 'mfr',
        }
      }
    })
    
    
  </script>
</body>
</html>